In the field of image rendering, there are a number of different formats in which an image and the color space transformation of that image may be represented. One specific type of format is defined by the International Color Consortium (ICC) (International Color Consortium is a registered trademark of the International Color Consortium). The ICC is directed to generation of an image profile format specification which allows for a cross-platform device profile format. Such profiles can be used to translate color data created in one device into another device""s native color space. The use of a standardized profile format by operating system vendors allows end users to transparently move profiles and images with embedded profiles between different operating systems. For example, device profiles provide color management systems with the information necessary to convert color data between native device color spaces and device-independent color spaces.
The ICC specification divides color devices into three broad classifications: input devices, display devices and output devices. For each device class, a series of base algorithmic models are described which perform the transformation between color spaces. These models provide a range of color quality and performance results. The necessary parameter data to implement these models is described in the required portions on the appropriate device profile descriptions. The profile structure is defined as a header followed by a tag table followed by a series of tagged elements that can be accessed randomly and individually.
As noted above, in addition to the ICC profile format, device specific and/or company specific formats have also been developed, and it is anticipated that other unique formats may be developed in the future.
When the image-rendering technology used in a digital front end (DFE) of a image-rendering device receives image formats supported by the device (such as ICC formats), then communication as to image profiles are understandable by components of the device. However when an image to be rendered is obtained from a third party, the image-rendering component may have its own representation of a color space transformation database, possibly for use on products other than those supported by the image-rendering device. Thus, the color space transformation profile format used by the third party may differ from a profile supported by a DFE of the image-rendering device which is to generate the image. However, the profile information used by the third party may be considered useful. In other words, it may be desirable for two or more databases providing the same type of information but in different formats to function with a single image rendering device.
It is therefore desirable to construct an image-rendering device having a digital front end (DFE) that includes the capability to easily manage color imaging resources, where management activities include loading, deleting, replacing and associating color profiles, and where the DFE supports different profile formats.
The present invention provides a design that allows a DFE decomposer supported for a particular format, such as ICC profile formats, to utilize multiple transformation databases concurrently. For each database, a software component referred to as a plug-in is created to deal with the specifics of the particular database. The plug-ins convert the contents of the third party database into a common structure understood by the decomposer. The invention defines the plug-in interface including data (i.e. structures) and behavior (i.e. methods) supported by all plug-ins. A plug-in for a supported database is also provided. An interface is used to inform the decomposer of changes to the supported database whereby the plug-in may retrieve data and update an internal database of the decomposer while the system is operating. Updatings of third party databases occur upon initialization of the system.